The present invention relates to an encryption method, an encryption communication method and an encryption communication system, which all employ a stream cipher that cannot be deciphered with ease.
A stream encryption method has hitherto been known, which can process data easily and fast.
A steam encryption method is to generate a random number sequence {ri} for a bit string {mi} and then to generate a cipher text {Ci} by an operation Ci=mi (xor) {ri}, where (xor) means an exclusive OR.
A conventional stream encryption method, however, cannot achieve a sufficient protection against a known plain text attack. There have been contrived various methods to avoid the known plain text attack. However, these methods cannot completely protect a stream cipher against the known plain text attack.
Besides, security cannot be guaranteed and an encryption key can be specified with ease by the known plain text attack, though a stream cipher can be generated using pseudo-random numbers.
For example, the Lehmer method, being one of random number generation methods, is to define a random number for integers (a, b and m) withri=(ari−1+b)(mod m),where an initial value is set to r0, thereby allowing generation of a stream cipher. In this case, the integers a, b and m are encryption keys.
However, a random number sequence {ri} can easily be specified by the known plain text attack and it is easy to determine the integers a, b and m using this sequence.
Thus, even with a specific algorithm for pseudo-random number generation, an encryption key can be found by specifying undetermined factors or the like if there are a sufficient volume of encrypted data. Further, a secure cipher can not be formulated with only one time multiplication by an integer.
In view of the drawbacks in the stream cipher, a so-called chaos cipher has been made its debut for several years. The chaos cipher is a cryptosystem characterized by high security, and a random number sequence {xi} therefore is generated by the following second degree polynomial, wherein an initial value of a real number x0, real numbers a, b and c are employed:xi=ax2i−1+bxi−1+c. 
As well known, a number sequence {xi} shows a very complex chaos. In this case, the a, b and c are considered to be encryption keys.
A plurality of such random number sequences {yi}, {zi}, . . . are prepared and encryption for a character sequence {mi} is defined by the following equation:Ci=(xi)(xor)(yi)(xor)(zi)(xor). . . (xor)mi,where (xi) indicates a integer part of xi.
In this method, a random number sequence in real number is partly masked and only partial information is utilized for encryption so that an encryption key is difficult to be specified. According to this encryption method, an advantage is obtained since high-speed encryption has been realized by only software without use of a specifically prepared chip as under DES.
However, there has still been a drawback that, even when a chaos cipher is employed, encryption can not be completed unless two or more times of multiplication by a real number is operated and therefore, a long time is required for operation of encryption processing. Also, since operation in real number is different in way of mounting according to a compiler or a model of a processor, a chaos cipher essentially has a processor-model dependency, which results in lack in versatility in application.
Accordingly, there has been desired that an encryption technique that enables high-speed encryption and provides a cipher which can not be deciphered. Further, an encryption technique with versatile applications has been on demand.